home *** CD-ROM | disk | FTP | other *** search
/ Power Hacker 2003 / Power_Hacker_2003.iso / Exploit and vulnerability / w00w00 / exploits / tests / nis / proto / include / nislib.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-08-13  |  8.9 KB  |  271 lines

  1. /*
  2.  * Copyright (c) 1991, Sun Microsystems Inc.
  3.  */
  4.  
  5. /*
  6.  * This file contains the interfaces that are visible in the SunOS 5.x
  7.  * implementation of NIS Plus. When using C++ the defined __cplusplus and
  8.  * __STDC__ should both be true.
  9.  */
  10.  
  11. #ifndef    _RPCSVC_NISLIB_H
  12. #define    _RPCSVC_NISLIB_H
  13.  
  14. #pragma ident    "@(#)nislib.h    1.18    94/12/19 SMI"
  15.  
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19.  
  20. #ifdef __STDC__
  21. extern void nis_freeresult(nis_result *);
  22. extern nis_result * nis_lookup(nis_name, u_long);
  23. extern nis_result * nis_list(nis_name, u_long,
  24.     int (*)(nis_name, nis_object *, void *), void *);
  25. extern nis_result * nis_add(nis_name, nis_object *);
  26. extern nis_result * nis_remove(nis_name, nis_object *);
  27. extern nis_result * nis_modify(nis_name, nis_object *);
  28.  
  29. extern nis_result * nis_add_entry(nis_name, nis_object *, u_long);
  30. extern nis_result * nis_remove_entry(nis_name, nis_object *, u_long);
  31. extern nis_result * nis_modify_entry(nis_name, nis_object *, u_long);
  32. extern nis_result * nis_first_entry(nis_name);
  33. extern nis_result * nis_next_entry(nis_name, netobj *);
  34.  
  35. extern nis_error nis_mkdir(nis_name, nis_server *);
  36. extern nis_error nis_rmdir(nis_name, nis_server *);
  37. extern name_pos nis_dir_cmp(nis_name, nis_name);
  38.  
  39. extern nis_name * nis_getnames(nis_name);
  40. extern void nis_freenames(nis_name *);
  41. extern nis_name nis_domain_of(nis_name);
  42. extern nis_name nis_leaf_of(nis_name);
  43. extern nis_name nis_leaf_of_r(const nis_name, char *, size_t);
  44. extern nis_name nis_name_of(nis_name);
  45. extern nis_name nis_local_group(void);
  46. extern nis_name nis_local_directory(void);
  47. extern nis_name nis_local_principal(void);
  48. extern nis_name nis_local_host(void);
  49.  
  50. extern void nis_destroy_object(nis_object *);
  51. extern nis_object * nis_clone_object(nis_object *, nis_object *);
  52. extern void nis_print_object(nis_object *o);
  53.  
  54. extern char * nis_sperrno(nis_error);
  55. extern void nis_perror(nis_error, char *);
  56. extern char * nis_sperror(nis_error, char *);
  57. extern void nis_lerror(nis_error, char *);
  58.  
  59. extern void nis_print_group_entry(nis_name);
  60. extern bool_t nis_ismember(nis_name, nis_name);
  61. extern nis_error nis_creategroup(nis_name, u_long);
  62. extern nis_error nis_destroygroup(nis_name);
  63. extern nis_error nis_addmember(nis_name, nis_name);
  64. extern nis_error nis_removemember(nis_name, nis_name);
  65. extern nis_error nis_verifygroup(nis_name);
  66.  
  67. extern void nis_freeservlist(nis_server **);
  68. extern nis_server ** nis_getservlist(nis_name);
  69. extern nis_error nis_stats(nis_server *, nis_tag *, int, nis_tag **);
  70. extern nis_error nis_servstate(nis_server *, nis_tag *, int, nis_tag **);
  71. extern void nis_freetags(nis_tag *, int);
  72.  
  73. extern nis_result * nis_checkpoint(nis_name);
  74. extern void nis_ping(nis_name, u_long, nis_object *);
  75.  
  76. /*
  77.  * XXX: PLEASE NOTE THAT THE FOLLOWING FUNCTIONS ARE INTERNAL
  78.  * TO NIS+ AND SHOULD NOT BE USED BY ANY APPLICATION PROGRAM.
  79.  * THEIR SEMANTICS AND/OR SIGNATURE CAN CHANGE WITHOUT NOTICE.
  80.  * SO, PLEASE DO NOT USE THEM.  YOU ARE WARNED!!!!
  81.  */
  82.  
  83. extern char ** __break_name(nis_name, int *);
  84. extern int __name_distance(char **, char **);
  85. extern nis_result * nis_make_error(nis_error, u_long, u_long, u_long, u_long);
  86. extern nis_attr * __cvt2attr(int *, char **);
  87. extern void nis_free_request(ib_request *);
  88. extern nis_error nis_get_request(nis_name, nis_object *, netobj*, ib_request*);
  89. extern nis_object * nis_read_obj(char *);
  90. extern int nis_write_obj(char *, nis_object *);
  91. extern int nis_in_table(nis_name, NIS_HASH_TABLE *, int *);
  92. extern int nis_insert_item(NIS_HASH_ITEM *, NIS_HASH_TABLE *);
  93. extern NIS_HASH_ITEM * nis_find_item(nis_name, NIS_HASH_TABLE *);
  94. extern NIS_HASH_ITEM * nis_remove_item(nis_name, NIS_HASH_TABLE *);
  95. extern void nis_insert_name(nis_name, NIS_HASH_TABLE *);
  96. extern void nis_remove_name(nis_name, NIS_HASH_TABLE *);
  97. extern CLIENT * nis_make_rpchandle(nis_server *, int, u_long, u_long, u_long,
  98.                                 int, int);
  99. extern void * nis_get_static_storage(struct nis_sdata *, u_long, u_long);
  100. extern char * nis_data(char *);
  101. extern char * nis_old_data(char *);
  102. extern void nis_print_rights(u_long);
  103. extern void nis_print_directory(directory_obj *);
  104. extern void nis_print_group(group_obj *);
  105. extern void nis_print_table(table_obj *);
  106. extern void nis_print_link(link_obj *);
  107. extern void nis_print_entry(entry_obj *);
  108. extern nis_object * nis_get_object(char *, char *, char *, u_long, u_long,
  109.                                     zotypes);
  110. extern nis_server * __nis_init_callback(CLIENT *,
  111.     int (*)(nis_name, nis_object *, void *), void *);
  112. extern int nis_getdtblsize(void);
  113. extern int __nis_run_callback(netobj *, u_long, struct timeval *, CLIENT *);
  114.  
  115. extern log_result *nis_dumplog(nis_server *, nis_name, u_long);
  116. extern log_result *nis_dump(nis_server *, nis_name,
  117.     int (*)(nis_name, nis_object *, void *));
  118.  
  119. extern bool_t __do_ismember(nis_name, nis_name,
  120.     nis_result *(*)(nis_name, u_long));
  121. extern nis_name __nis_map_group(nis_name);
  122. extern nis_name __nis_map_group_r(nis_name, char *, size_t);
  123.  
  124. extern nis_error __nis_CacheBind(char *, directory_obj *);
  125. extern nis_error __nis_CacheSearch(char *, directory_obj *);
  126. extern bool_t __nis_CacheRemoveEntry(directory_obj *);
  127. extern void __nis_CacheRestart(void);
  128. extern void __nis_CachePrint(void);
  129. extern void __nis_CacheDumpStatistics(void);
  130. extern bool_t writeColdStartFile(directory_obj *);
  131.  
  132. extern CLIENT * __get_ti_clnt(char *, CLIENT *, char **, pid_t *, dev_t *);
  133. extern int __strcmp_case_insens(char *, char *);
  134. extern int __strncmp_case_insens(char *, char *);
  135.  
  136. extern fd_result * nis_finddirectory(directory_obj *, nis_name);
  137. extern fd_result * __nis_finddirectory_r(directory_obj *, nis_name,
  138.     fd_result *);
  139. extern int __start_clock(int);
  140. extern u_long __stop_clock(int);
  141.  
  142. #else
  143.  
  144. /* Non-prototype definitions (old fashioned C) */
  145.  
  146. extern void nis_freeresult();
  147. extern nis_result * nis_lookup();
  148. extern nis_result * nis_list();
  149. extern nis_result * nis_add();
  150. extern nis_result * nis_remove();
  151. extern nis_result * nis_modify();
  152.  
  153. extern nis_result * nis_add_entry();
  154. extern nis_result * nis_remove_entry();
  155. extern nis_result * nis_modify_entry();
  156. extern nis_result * nis_first_entry();
  157. extern nis_result * nis_next_entry();
  158.  
  159. extern nis_error nis_mkdir();
  160. extern nis_error nis_rmdir();
  161. extern name_pos nis_dir_cmp();
  162.  
  163. extern nis_name *nis_getnames();
  164. extern void nis_freenames();
  165. extern nis_name nis_domain_of();
  166. extern nis_name nis_leaf_of();
  167. extern nis_name nis_leaf_of_r();
  168. extern nis_name nis_name_of();
  169. extern nis_name nis_local_group();
  170. extern nis_name nis_local_directory();
  171. extern nis_name nis_local_principal();
  172. extern nis_name nis_local_host();
  173.  
  174. extern void nis_destroy_object();
  175. extern nis_object * nis_clone_object();
  176. extern void nis_print_object();
  177.  
  178. extern char * nis_sperrno();
  179. extern void nis_perror();
  180. extern char * nis_sperror();
  181. extern void nis_lerror();
  182.  
  183. extern void nis_print_group_entry();
  184. extern bool_t nis_ismember();
  185. extern nis_error nis_creategroup();
  186. extern nis_error nis_destroygroup();
  187. extern nis_error nis_addmember();
  188. extern nis_error nis_removemember();
  189. extern nis_error nis_verifygroup();
  190.  
  191. extern void nis_freeservlist();
  192. extern nis_server ** nis_getservlist();
  193. extern nis_error nis_stats();
  194. extern nis_error nis_servstate();
  195. extern void nis_freetags();
  196.  
  197. extern nis_result * nis_checkpoint();
  198. extern void nis_ping();
  199.  
  200. /*
  201.  * XXX: PLEASE NOTE THAT THE FOLLOWING FUNCTIONS ARE INTERNAL
  202.  * TO NIS+ AND SHOULD NOT BE USED BY ANY APPLICATION PROGRAM.
  203.  * THEIR SEMANTICS AND/OR SIGNATURE CAN CHANGE WITHOUT NOTICE.
  204.  * SO, PLEASE DO NOT USE THEM.  YOU ARE WARNED!!!!
  205.  */
  206. extern char ** __break_name();
  207. extern int __name_distance();
  208. extern nis_result * nis_make_error();
  209. extern nis_attr * __cvt2attr();
  210. extern void nis_free_request();
  211. extern nis_error nis_get_request();
  212. extern nis_object * nis_read_obj();
  213. extern int nis_write_obj();
  214. extern int nis_in_table();
  215. extern int nis_insert_item();
  216. extern NIS_HASH_ITEM * nis_find_item();
  217. extern NIS_HASH_ITEM * nis_remove_item();
  218. extern void nis_insert_name();
  219. extern void nis_remove_name();
  220. extern CLIENT * nis_make_rpchandle();
  221. extern void * nis_get_static_storage();
  222. extern char * nis_data();
  223. extern char * nis_old_data();
  224.  
  225. extern void nis_print_rights();
  226. extern void nis_print_directory();
  227. extern void nis_print_group();
  228. extern void nis_print_table();
  229. extern void nis_print_link();
  230. extern void nis_print_entry();
  231. extern nis_object * nis_get_object();
  232.  
  233. extern nis_server * __nis_init_callback();
  234. extern int nis_getdtblsize();
  235. extern int __nis_run_callback();
  236.  
  237. extern log_result * nis_dump();
  238. extern log_result * nis_dumplog();
  239.  
  240. extern bool_t __do_ismember();
  241. extern nis_name __nis_map_group();
  242. extern nis_name __nis_map_group_r();
  243.  
  244.  
  245. extern nis_error __nis_CacheBind();
  246. extern directory_obj * __nis_CacheSearch();
  247. extern bool_t __nis_CacheRemoveEntry();
  248. extern void __nis_CacheRestart();
  249. extern void __nis_CachePrint();
  250. extern void __nis_CacheDumpStatistics();
  251. extern bool_t writeColdStartFile();
  252.  
  253. extern CLIENT * __get_ti_clnt();
  254. extern int __strcmp_case_insens();
  255. extern int __strncmp_case_insens();
  256.  
  257. extern fd_result * nis_finddirectory();
  258. extern fd_result * __nis_finddirectory_r();
  259. extern int __start_clock();
  260. extern u_long __stop_clock();
  261.  
  262. #endif
  263.  
  264. #define    NUL '\0'
  265.  
  266. #ifdef    __cplusplus
  267. }
  268. #endif
  269.  
  270. #endif    /* _RPCSVC_NISLIB_H */
  271.